package tg.game;

/**
 * 游戏接口
 * 		游戏很接近的可以写成一个游戏类，再由实例化时不同的参数创建不同的游戏
 * 		
 * 		游戏配置：   数据库信息/服务信息
 * @author NKW
 * 游戏报表：
 *     日报表（只能按天查）：  会员场次报表、注单细表    
 *     汇总表（可以查区间）：每天定时   根据会员场次报表生成日报表插入总表（同时生成代理日报，这个要不要最后再定，基本上是要的）
 *     
 * 
 * 分大类游戏要实现此接口：
 * 		当前彩票类游戏：
 * 			个性化参数：
 * 				第一场次开盘时间，下注时长，开奖时间，一期总共几场次等规则
 * 			现在的所有彩票类游戏都可以统一一个游戏类，由参数来实现个性化
 * 			当前彩票类游戏无非就是第一期时间，下注时长，开奖时间，一天总共几场次等不同（有些游戏，是有两种时间段，两种间隔）
 * 			自动抓奖，手动抓奖 
 * 			共性： 自动开奖，每天固定期数（或者不固定），每期固定间隔时间（有些是有分时间段不同间隔），开奖数字奖号，流程完全一样（加载，开盘，封盘，开奖，结算），
 *                   
 * 		真人类游戏：
 * 			个性化参数：下注时长，封盘后延时几秒才可以key结果，		
 * 		斗地主游戏（真人对战统一比较难，除非很接近的）：
 * 			
 * 			
 * 彩票类游戏不一样的地方：
 * 		一年特殊日期不开盘
 * 		每天开始时间不一样，每场次下注时间不一样，封盘开奖时间不一样，总期数不一样
 * 		开奖规则：
 * 			个数，范围，是否重复
 * 		玩法规则：
 * 			下注赔率生成：单码用设定中的，多码要不同的组合方法
 * 			中奖赔率 计算规则： 一般是用 下注赔率 - 1，但是多奖的，和过关的不一样
 * 			中奖规则: 根据游戏结果 计算出   玩法结果   ，再判断  下注码号是否中本玩法
 *  
 * 彩票类游戏  创建：游戏结果(开奖解析)/初始化每天场次任务
 * 
 * 彩票类游戏可以：
 * 		游戏流程： 流程推进动作，开奖动作
 * 		下注缓存：提供下注动作/操盘动作/查询下注信息动作/
 * 		彩票类游戏可以把流程剥离出来(其他如斗地方类自己再定义)，供多种方式来用:房间方式/传统方式
 * 
 * 游戏流程供用户操作： 流程推进，开奖等动作
 * 
 * 
 * 游戏站点属性：
 * 		【
 * 			这个只是传统彩票的逻辑，所以应该是要在站点开能游戏时需要操作的，是游戏内部的逻辑，不是站点总的逻辑
 * 			是可以在中心做，但是是对这种多盘口类型的彩票游戏所做的总的设定，是对这一类型的总设定，可以放中心做
 * 		】
 * 		盘口类型：1多盘口 2无盘口    盘口本来就是游戏内部的逻辑，很多游戏是没有盘口的
 * 		占成类型：1.一对一 2.多游戏对一组占成   
 * 			 可能不需要这个，直接去创建占成组别，然后再为站点授权游戏权限，并为每个游戏绑定占成组别
 * 		
 * 		
 * 
 * 游戏平台服务条件：
 * 		会员设定
 * 		代理设定（如果没有代理也得有公司设定：赔率，限注等信息，就算不用公司的，也得有统一默认本平台的公司设定，所有单独的会员都当做它的下级）
 *    游戏可以为单个会员服务，也可以为多级代理服务，如果是单个会员服务的，要有统一的游戏设定（默认为统一的公司，占成也一样弄一个100的），如果为多级代理服务，每级都要有游戏设定
 *    游戏平台接口：
 *    	 账号，级别（必须按游戏规定），角色（这个游戏平台不管，自己去解析），模式：1.多级代理制  2.统一会员（默认游戏设定，但是会员也需要自己有个设定，在默认设定的范围下级）
 * 
 */
public interface IGame extends IJsonIni{
	public void start();
	public void pause();
	public void stop();
	public void release();
}
